package com.yida.gwj.expend.outside.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 改造方案DTO
 *
 * @author wkz
 * @date 2023/03/01
 */
@ApiModel(description = "改造方案DTO")
public class ChangeSchemeDTO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    private Long attachmentId;

    /**
     * 小区名称(name)
     */
    @ApiModelProperty(value = "小区名称(name)")
    private String communityName;

    /**
     * 开发企业名称
     */
    @ApiModelProperty(value = "开发企业名称")
    private String developmentEnterpriseName;

    /**
     * 小区坐落(location)
     */
    @ApiModelProperty(value = "小区坐落(location)")
    private String communityLocation;

    /**
     * 建筑总面积
     */
    @ApiModelProperty(value = "建筑总面积")
    private BigDecimal totalSize;

    /**
     * 业主总户数
     */
    @ApiModelProperty(value = "业主总户数")
    private Integer totalOwner;

    /**
     * 总栋数
     */
    @ApiModelProperty(value = "总栋数")
    private Integer totalBuild;

    //以上字段在社区表  以下在info表

    /**
     * 维修项目(weixiuxiangmu)
     */
    @ApiModelProperty(value = "维修项目(weixiuxiangmu)")
    private String maintenanceItems;

    /**
     * 维修原因(weixiuyuanyin)
     */
    @ApiModelProperty(value = "维修原因(weixiuyuanyin)")
    private String maintenanceReason;

    /**
     * 施工单位(shigongdanwei)
     */
    @ApiModelProperty(value = "施工单位(shigongdanwei)")
    private String constructionUnit;

    /**
     * 工程预算金额(gongchengyusuanjine)
     */
    @ApiModelProperty(value = "工程预算金额(gongchengyusuanjine)")
    private BigDecimal projectBudgetAmount;

    /**
     * 收款单位全称(收款户名)(shoukuandanweiquancheng)
     */
    @ApiModelProperty(value = "收款单位全称(收款户名)(shoukuandanweiquancheng)")
    private String fullNameOfPayee;

    /**
     * 开户银行(kaihuyinhang)
     */
    @ApiModelProperty(value = "开户银行(kaihuyinhang)")
    private String bankDeposit;

    /**
     * 收款账号(shoukuanzhanghao)
     */
    @ApiModelProperty(value = "收款账号(shoukuanzhanghao)")
    private String collectionAccount;

    /**
     * 验收方案(yanshoufangan)
     */
    @ApiModelProperty(value = "验收方案(yanshoufangan)")
    private String acceptancePlan;

    /**
     * 申请单位全程(shenqingdanwei_quancheng)
     */
    @ApiModelProperty(value = "申请单位全程(shenqingdanwei_quancheng)")
    private String fullNameOfApplicationUnit;

    /** 保存时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "保存时间")
    private LocalDate saveTime;

    /**
     * 维修和更新、改造费用明细
     */
    @ApiModelProperty(value = "维修和更新、改造费用明细")
    private String costDetail;
    /**
     * 对公账号(duigongzhanghao)
     */
    @ApiModelProperty(value = "对公账号(duigongzhanghao)")
    private String corporateAccount;
    /**
     * 专有部分业主的户数及分摊额度
     */
    @ApiModelProperty(value = "专有部分业主的户数及分摊额度")
    private String updateDetail;

    @ApiModelProperty(value = "项目竣工时间年份")
    private Integer completedTimeYear;

    @ApiModelProperty(value = "项目竣工时间月份")
    private Integer completedTimeMouth;

    @ApiModelProperty(value = "楼栋名称字符串")
    private String buildNameList;

    public Long getAttachmentId() {
        return attachmentId;
    }

    public void setAttachmentId(Long attachmentId) {
        this.attachmentId = attachmentId;
    }

    public String getCostDetail() {
        return costDetail;
    }

    public void setCostDetail(String costDetail) {
        this.costDetail = costDetail;
    }

    public String getCorporateAccount() {
        return corporateAccount;
    }

    public void setCorporateAccount(String corporateAccount) {
        this.corporateAccount = corporateAccount;
    }

    public String getUpdateDetail() {
        return updateDetail;
    }

    public void setUpdateDetail(String updateDetail) {
        this.updateDetail = updateDetail;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getDevelopmentEnterpriseName() {
        return developmentEnterpriseName;
    }

    public void setDevelopmentEnterpriseName(String developmentEnterpriseName) {
        this.developmentEnterpriseName = developmentEnterpriseName;
    }

    public String getCommunityLocation() {
        return communityLocation;
    }

    public void setCommunityLocation(String communityLocation) {
        this.communityLocation = communityLocation;
    }

    public BigDecimal getTotalSize() {
        return totalSize;
    }

    public void setTotalSize(BigDecimal totalSize) {
        this.totalSize = totalSize;
    }

    public Integer getTotalOwner() {
        return totalOwner;
    }

    public void setTotalOwner(Integer totalOwner) {
        this.totalOwner = totalOwner;
    }

    public Integer getTotalBuild() {
        return totalBuild;
    }

    public void setTotalBuild(Integer totalBuild) {
        this.totalBuild = totalBuild;
    }

    public String getMaintenanceItems() {
        return maintenanceItems;
    }

    public void setMaintenanceItems(String maintenanceItems) {
        this.maintenanceItems = maintenanceItems;
    }

    public String getMaintenanceReason() {
        return maintenanceReason;
    }

    public void setMaintenanceReason(String maintenanceReason) {
        this.maintenanceReason = maintenanceReason;
    }

    public String getConstructionUnit() {
        return constructionUnit;
    }

    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public BigDecimal getProjectBudgetAmount() {
        return projectBudgetAmount;
    }

    public void setProjectBudgetAmount(BigDecimal projectBudgetAmount) {
        this.projectBudgetAmount = projectBudgetAmount;
    }

    public String getFullNameOfPayee() {
        return fullNameOfPayee;
    }

    public void setFullNameOfPayee(String fullNameOfPayee) {
        this.fullNameOfPayee = fullNameOfPayee;
    }

    public String getBankDeposit() {
        return bankDeposit;
    }

    public void setBankDeposit(String bankDeposit) {
        this.bankDeposit = bankDeposit;
    }

    public String getCollectionAccount() {
        return collectionAccount;
    }

    public void setCollectionAccount(String collectionAccount) {
        this.collectionAccount = collectionAccount;
    }

    public String getAcceptancePlan() {
        return acceptancePlan;
    }

    public void setAcceptancePlan(String acceptancePlan) {
        this.acceptancePlan = acceptancePlan;
    }

    public String getFullNameOfApplicationUnit() {
        return fullNameOfApplicationUnit;
    }

    public void setFullNameOfApplicationUnit(String fullNameOfApplicationUnit) {
        this.fullNameOfApplicationUnit = fullNameOfApplicationUnit;
    }

    public LocalDate getSaveTime() {
        return saveTime;
    }

    public void setSaveTime(LocalDate saveTime) {
        this.saveTime = saveTime;
    }

    public Integer getCompletedTimeYear() {
        return completedTimeYear;
    }

    public void setCompletedTimeYear(Integer completedTimeYear) {
        this.completedTimeYear = completedTimeYear;
    }

    public Integer getCompletedTimeMouth() {
        return completedTimeMouth;
    }

    public void setCompletedTimeMouth(Integer completedTimeMouth) {
        this.completedTimeMouth = completedTimeMouth;
    }

    public String getBuildNameList() {
        return buildNameList;
    }

    public void setBuildNameList(String buildNameList) {
        this.buildNameList = buildNameList;
    }

    @Override
    public String toString() {
        return "ChangeSchemeDTO{" +
                "attachmentId=" + attachmentId +
                ", communityName='" + communityName + '\'' +
                ", developmentEnterpriseName='" + developmentEnterpriseName + '\'' +
                ", communityLocation='" + communityLocation + '\'' +
                ", totalSize=" + totalSize +
                ", totalOwner=" + totalOwner +
                ", totalBuild=" + totalBuild +
                ", maintenanceItems='" + maintenanceItems + '\'' +
                ", maintenanceReason='" + maintenanceReason + '\'' +
                ", constructionUnit='" + constructionUnit + '\'' +
                ", projectBudgetAmount=" + projectBudgetAmount +
                ", fullNameOfPayee='" + fullNameOfPayee + '\'' +
                ", bankDeposit='" + bankDeposit + '\'' +
                ", collectionAccount='" + collectionAccount + '\'' +
                ", acceptancePlan='" + acceptancePlan + '\'' +
                ", fullNameOfApplicationUnit='" + fullNameOfApplicationUnit + '\'' +
                ", saveTime=" + saveTime +
                ", costDetail='" + costDetail + '\'' +
                ", corporateAccount='" + corporateAccount + '\'' +
                ", updateDetail='" + updateDetail + '\'' +
                ", completedTimeYear=" + completedTimeYear +
                ", completedTimeMouth=" + completedTimeMouth +
                ", buildNameList='" + buildNameList + '\'' +
                '}';
    }
}
